//
//  AugmentedRealityCamera.h
//  POCRA
//
//  Created by Marcel Arbó Lack on 26/11/10.
//  Copyright 2010 Mobivery. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "OverlayViewController.h"
#import "ARVectorViewController.h"
#import "ARFeetViewController.h"
#import "ListFlat.h"

@protocol AugmentedRealityCameraControllerProviderDelegate

// Devuelve un controlador para que sea una vista giratoria
- (ARRotatingViewController *)arControllerForARCoordinate:(ARCoordinate *)coordinate;
// Devuelve un controlador para que sea el detalle de una vista. Estará fija en la pantalla al selecionar la vista gitaroria
- (ARDetailViewController *)arDetailControllerForARCoordinate:(ARCoordinate *)coordinate;

@end

@protocol AugmentedRealityCameraDetailControllerDelegate

// Usado para determinal si la vista esta en orizontal o vertical
- (void)setMIsLandScapeForInstr:(BOOL)landscape;
// Actualiza el contenido de la vista con un objeto que sige un protocolo determinado
- (void)updateViewWith:(ListFlat*)object;

@end

@interface AugmentedRealityCamera : UIImagePickerController < CLLocationManagerDelegate, OverlayViewControllerDelegate, ARViewDelegate, UIAccelerometerDelegate > {
	
	OverlayViewController * overlay;
	ARVectorViewController *vectorView;
	CLLocationManager * locationManager;
	
	NSArray * arrayOfInformation_;
	
	id<AugmentedRealityCameraControllerProviderDelegate> providerDelegate_;
	
	ARFeetViewController * feetView_;
	
	
}

@property (nonatomic, retain) OverlayViewController * overlay;
@property (nonatomic, retain) ARVectorViewController *vectorView;
@property (nonatomic, retain) CLLocationManager * locationManager;
@property (nonatomic, retain) NSArray * arrayOfInformation;
@property (nonatomic, retain) ARFeetViewController * feetView;

@property (nonatomic, assign) id<AugmentedRealityCameraControllerProviderDelegate> providerDelegate;



@end
